package com.briup.corejava.day11.enums;

import com.briup.corejava.day09.interfaces.Flyable;

public enum Week implements Flyable {
    // 枚举类和普通类一样，拥有属性方法构造器
    // 枚举元素必须写在第一行
    MON("星期一"){
        @Override
        public void run() {
            System.out.println("星期一的run");
        }
    },
    THU {
        @Override
        public void run() {
            System.out.println("星期二的run");
        }

        @Override
        public void fly() {
            System.out.println("星期二的fly");
        }
    },
    WEN() {
        @Override
        public void run() {
            System.out.println("星期三的run");
        }
    };
    private String desc;
    Week(){}
    Week(String desc){
        this.desc = desc;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
    public static void show(){
        System.out.println("枚举的静态方法..");
    }
    // 抽象类
    public abstract void run();
    // 如果枚举类实现接口，有两种实现思路
    // 1、由枚举类型做公共实现
    // 2、由枚举对象做单独实现
    @Override
    public void fly() {
        System.out.println("类的统一实现");
    }
}
